package com.fdb.efp.nls.service.facade;

import com.fdb.efp.loan.service.vo.LoanRepayDetailVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * <p>Description:还款明细表				<p>
 * @author cyj
 * @date 2018-12-27
 */
public interface LoanRepayDetailService {
	
	public List<LoanRepayDetailVO> queryAllOwner(LoanRepayDetailVO loanRepayDetailVo);
	
	public List<LoanRepayDetailVO> queryAllCurrOrg(LoanRepayDetailVO loanRepayDetailVo);
	
	public List<LoanRepayDetailVO> queryAllCurrDownOrg(LoanRepayDetailVO loanRepayDetailVo);
	
	public int deleteByPk(LoanRepayDetailVO loanRepayDetailVo);
	
	public int updateByPk(LoanRepayDetailVO loanRepayDetailVo);
	
	public int insertLoanRepayDetail(LoanRepayDetailVO loanRepayDetailVo);
	
	public LoanRepayDetailVO queryByPk(LoanRepayDetailVO loanRepayDetailVo);
	/**
	 * 同步马上 新增还款明细
	 * @date:2018年12月29日 下午1:20:27
	 * @author:cenyj
	 */
    public boolean batchtLoanRepayDetailFromMaTxt() throws Exception;

	public List<LoanRepayDetailVO> queryAllByLoanNo(LoanRepayDetailVO loanRepayDetailVO);


	/** 通过借据号，分页查询信息 */
	public List<LoanRepayDetailVO> queryAllByLoanNoByPage(LoanRepayDetailVO loanRepayDetailVO);

	/**
	 *
	 * 批量新增还款明细信息 <br>
	 * 0.1:ludayong:2019年3月8日 下午2:37:18:新增 <br>
	 *
	 * @author ludayong
	 * @since 2019年3月8日 下午2:37:18
	 * @date 2019年3月8日 下午2:37:18
	 * @version 0.1
	 */
	public int batchInsertLoanRepayDetail(List<LoanRepayDetailVO> addList);

	/**
	 *
	 * 批量更新还款明细信息 <br>
	 * 0.1:ludayong:2019年3月8日 下午2:37:18:新增 <br>
	 *
	 * @author ludayong
	 * @since 2019年3月8日 下午2:37:18
	 * @date 2019年3月8日 下午2:37:18
	 * @version 0.1
	 */
	public int batchUpdateLoanRepayDetail(List<LoanRepayDetailVO> updateList);

	 /**
	 *
	 * 贷款每日还款信息临时表数据修改还款明细借据表有数据则更新，无则新增 <br>
	 * 0.1:weijj:2019年5月7日 下午2:37:18:新增 <br>
	 *
	 * @author weijj
	 * @since 2019年5月7日 下午2:37:18
	 * @date 2019年5月7日 下午2:37:18
	 * @version 0.1
	 */

	public int insertOrUpdateLoanRepayDetail(List<LoanRepayDetailVO> list);


	public  List<LoanRepayDetailVO> queryLoanRepayDetailByBST(LoanRepayDetailVO param, Integer offset, Integer limit);

	public Integer queryCountByBST(LoanRepayDetailVO loanRepayDetail);
	
	/**
	 * 需求编号：【2019D0519】（业务提的需求编号）
	 * 问题编号：【xxxxxxx】（若不是因为修复问题而新增该类，则留空）
	 * 开发人员：qiuyf
	 * 创建日期：2019年5月13日 下午9:41:30
	 * 功能描述：批量插入数据
	 */
//	@author:liuty
//	@date:2019/10/17
//	涉及产品:税e贷
//	功能:批量插入数据
//	原因:增量投产只投了接口没投实现，编译报错因此注释，不影响当前产品实际业务
//	public int insertLoanRepDtlBatch(List<LoanRepayDetailVO> LoanRepayDetailList);
//	@author:liuty
//	@date:2019/10/17
//	涉及产品:税e贷
//	功能:查询信用数据
//	原因:增量投产只投了接口没投实现，编译报错因此注释，不影响当前产品实际业务
//    List<LoanRepayDetailVO> queryCreditReportionData(List<String> prdInfoIds, String batchDate);
    
    /**
     * 需求编号：【2019D0519】（业务提的需求编号）
     * 问题编号：【xxxxxxx】（若不是因为修复问题而新增该类，则留空）
     * 开发人员：qiuyf
     * 创建日期：2019年6月21日 下午5:40:53
     * 功能描述：根据全局流水号统计还款明细记录数
     */

    public int countInfoByGlobalSerno(String globalSerno);

	/**
	 * 更新或者插入还款计划明细: <br>
	 * 0.1:caoxin:2019/6/25 14:5 <br>
	 * @author caoxin
	 * @return
	 * @since 2019/5/15 14:59
	 * @date 2019/5/15 14:59
	 * @version 0.1
	 */
	int batchInsertOrUpdateLoanRepayPlanDetail(List<LoanRepayDetailVO> LoanRepayDetailVOs);

	/**
	 * 需求编号：2019D0519<br/>
	 * 问题编号：<br/>
	 * 功能描述：通过主动申请还款日期的一部分去模糊查询所有符合条件的还款明细记录<br/>
	 * 开发人员：周才顺<br/>
	 * 创建时间：2019年6月26日<br/>
	 * @author zhoucs1
	 * @since  1.0
	 * @version 1.0
	 * @param repayDay
	 * @return
	 */
//	@author:liuty
//	@date:2019/10/17
//	涉及产品:税e贷
//	功能:通过主动申请还款日期的一部分去模糊查询所有符合条件的还款明细记录
//	原因:增量投产只投了接口没投实现，编译报错因此注释，不影响当前产品实际业务
//	public List<PlsLoanRepayDetailVO> queryByRepayYear(String repayDay);

	List<LoanRepayDetailVO> queryDataByLoanNos(List<String> loanNos);

    List<LoanRepayDetailVO> queryFailedDataByLoanNos(List<String> loanNos);

	/**
	 *需求编号：【2020D0311】（马上还款明细同步）
	 *问题编号：【2020D0311】（根据还款流水号，贷款借据号，还款期数查询还款明细信息）
	 *开发人员：【ludayong】
	 *创建日期：【2020/2/26 15:19】
	 *功能描述：
	 *修改日期：【2020/2/26 15:19】
	 *修改描述：
	 */
	public LoanRepayDetailVO queryLoanRepayDetailByCondition(LoanRepayDetailVO loanRepayDetailVo);

	/**
	 *需求编号：【2020D0311】（马上还款明细同步）
	 *问题编号：【2020D0311】（根据还款流水号，贷款借据号，还款期数更新还款明细信息）
	 *开发人员：【ludayong】
	 *创建日期：【2020/2/26 15:19】
	 *功能描述：
	 *修改日期：【2020/2/26 15:19】
	 *修改描述：
	 */
	public int updateLoanRepayDetailByCondition(LoanRepayDetailVO loanRepayDetailVo);

	List<LoanRepayDetailVO> querySuccessRepayDetail();

	List<LoanRepayDetailVO> queryByRpyNo(@Param("list") List<String> list) throws Exception;

	public List<LoanRepayDetailVO> queryByWfStsAndRsSts();

    int insertOrUpdatePsd(List<LoanRepayDetailVO> list) throws Exception;

    List<LoanRepayDetailVO> queryBySetlSeq(String setlSeq) throws Exception;

    /**
     * 优e贷 根据还款申请日期、还款成功、借据号 查询明细数据
     *
     * @author xieziwei
     * @version 0.1
     */
    public List<LoanRepayDetailVO> queryDetailBySetlApplyDt(LoanRepayDetailVO loanRepayDetailVo);
    public List<LoanRepayDetailVO> queryDetailBySetlTyo(LoanRepayDetailVO loanRepayDetailVo);

}
